var cimsTech = angular.module('cimsTech', ['ui.router', 'ngAnimate', 'ui.bootstrap', 'ui.grid', 'ngStorage', 'angularFileUpload']);
cimsTech.config(['$stateProvider', '$urlRouterProvider', '$compileProvider', '$httpProvider', function($stateProvider, $urlRouterProvider, $compileProvider, $httpProvider) {
    $compileProvider.debugInfoEnabled(false);
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
    var param = function(obj) {
        var query = '', name, value, fullSubName, subName, subValue, innerObj, i;
        for(name in obj) {
            value = obj[name];
            if(value instanceof Array) {
                for(i = 0; i < value.length; ++i) {
                    subValue = value[i];
                    fullSubName = name + '[' + i + ']';
                    innerObj = {};
                    innerObj[fullSubName] = subValue;
                    query += param(innerObj) + '&';
                }
            } else if(value instanceof Object) {
                for(subName in value) {
                    subValue = value[subName];
                    fullSubName = name + '[' + subName + ']';
                    innerObj = {};
                    innerObj[fullSubName] = subValue;
                    query += param(innerObj) + '&';
                }
            } else if(value !== undefined && value !== null) {
                query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';
            }
        }
        return query.length ? query.substr(0, query.length - 1) : query;
    };
    $httpProvider.defaults.transformRequest = [function(data) {
        return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
    }];
    $stateProvider.state('model', {
        url: '/model',
        templateUrl: 'pages/model.html',
        controller: 'modelCtl'
    }).state('report', {
        url: '/report',
        templateUrl: 'pages/report.html',
        controller: 'reportCtl'
    }).state('fileserver', {
        url: '/fileserver',
        templateUrl: 'pages/fileserver.html',
        controller: 'fileserverCtl'
    }).state('settings', {
        url: '/settings',
        templateUrl: 'pages/settings.html',
        controller: 'settingsCtl'
    }).state('home', {
        url: '/',
        templateUrl: 'pages/welcome.html',
        controller: ''
    });
    $urlRouterProvider.otherwise(function($injector, $location) {
        $location.path('/model');
    });
}]);
Array.prototype.remove = function(item) {
    var i = this.indexOf(item);
    if(i > 0) {
        this.splice(i, 1);
    } else {
        return false;
    }
};